// @/api/fruit_api.js
// 从util目录导入request.js
import request from '../util/request.js';

// 1. 获取水果列表（分页）
export function getFruitPage(params) {
    return request({
        url: '/fruit/page',
        method: 'get',
        params
    });
}

// 2. 新增水果
export function addFruit(data) {
    return request({
        url: '/fruit',
        method: 'post',
        data
    });
}

// 3. 编辑水果
export function editFruit(data) {
    return request({
        url: '/fruit',
        method: 'put',
        data
    });
}

// 4. 删除水果
export function delFruit(id) {
    return request({
        url: `/fruit/${id}`,
        method: 'delete'
    });
}

// 5. 上传图片（对齐后端UploadController的接口路径）
export function uploadFruitImg(formData) {
    // 获取存储在 localStorage 中的 Token
    const token = localStorage.getItem('token');

    // 如果没有 Token，返回一个错误
    if (!token) {
        return Promise.reject(new Error('请先登录'));
    }

    // 发送请求时携带 Authorization 头部
    return request({
        url: '/upload/file', // 后端接口是/upload/file，而非/fruit/upload/file
        method: 'post',
        data: formData,
        headers: {
            'Authorization': `Bearer ${token}`
        }
    });
}

// 6. 删除图片
export function delFruitImg(data) {
    return request({
        url: '/upload/delete-file',  // 使用 POST 请求
        method: 'post',
        headers: { 'Content-Type': 'application/json' },  // 设置 Content-Type 为 JSON
        data: { imgUrl: data.imgUrl }  // 将 imgUrl 放入请求体
    });
}

// 默认导出（修复重复键问题，统一接口命名）
export default {
    page: getFruitPage,      // 分页获取列表
    add: addFruit,           // 新增水果
    edit: editFruit,         // 编辑水果
    del: delFruit,           // 删除水果（原水果删除接口）
    upload: uploadFruitImg,  // 上传图片
    delImg: delFruitImg      // 删除图片（修改键名，避免与del冲突）
};